package testes;

import static org.junit.Assert.*;

import org.bunny.businessLayer.Cartao;
import org.bunny.businessLayer.Membro;
import org.bunny.businessLayer.TipoCartao;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class CartaoTest {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
		//shit
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testCartao() {
	Cartao c = new Cartao();
	assertTrue(Cartao.allInstances.contains(c));
	}

	@Test
	public void testCartaoIntTipoCartaoMembro() {
		Membro m = new Membro();
		Cartao c = new Cartao(4, TipoCartao.Amarelo, m);
		
		c.setMinuto(8);
		assertEquals(8,c.minuto());
		
		Membro m2 = new Membro();
		c.setMembro(m2);
		assertEquals(m2,c.membro());
		
		Cartao d = new Cartao(10,TipoCartao.Vermelho,m2);
		
		d.setTipo(TipoCartao.Amarelo);
		assertEquals(TipoCartao.Amarelo, d.tipo());
		
		assertEquals(TipoCartao.Amarelo,TipoCartao.valueOf("Amarelo"));
	}

	@Test
	public void testToString() {
		Membro m = new Membro();
		Cartao c = new Cartao(5,TipoCartao.Vermelho,m);
		assertEquals("Cartao [minuto=" + 5 + ", tipo=" + TipoCartao.Vermelho + ", membro=" + m + "]\n",c.toString());
		
	}

}
